package com.weixing.mall.provider.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.weixing.mall.base.orm.MPage;
import com.weixing.mall.provider.api.model.enums.OrderTypeEnum;
import com.weixing.mall.provider.model.dto.ChgKefuRemarkDto;
import com.weixing.mall.provider.model.query.AgentOrderQuery;
import com.weixing.mall.provider.model.query.CustomerOrderQuery;
import com.weixing.mall.provider.model.vo.KefuAuditOrderVo;
import com.weixing.mall.provider.model.vo.SalesAchiVo;
import com.weixing.mall.provider.model.vo.StaticVo;

/**
 * <p>
 * 订单模块-订单表 服务类
 * </p>
 *
 * @author Small
 * @since 2019-11-20
 */
public interface IKefuOrderService {
    IPage selectOrderList(CustomerOrderQuery query, Page initMpPage);

    StaticVo selectOrderListTotal(CustomerOrderQuery customerOrderQuery);

    IPage<KefuAuditOrderVo> toAudit(Page initMpPage, CustomerOrderQuery customerOrderQuery);
    IPage<KefuAuditOrderVo> seckillOrderReport(Page initMpPage, CustomerOrderQuery customerOrderQuery);

    StaticVo toAuditTotalAmount(CustomerOrderQuery customerOrderQuery);

    IPage<KefuAuditOrderVo> noBindKefu(Page initMpPage, CustomerOrderQuery query);

    StaticVo noBindKefuTotalAmount(CustomerOrderQuery query);

    IPage<SalesAchiVo> salesOfAgent(Page initMpPage, OrderTypeEnum type, AgentOrderQuery query);

    MPage<SalesAchiVo> salesOfKefu(Page initMpPage, OrderTypeEnum type, AgentOrderQuery query);

    void bindBatch(String ids);

    void chgKefuRemark(ChgKefuRemarkDto dto, Long uid);
}
